您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种设置防火墙策略的方法和装置

  • 申请号:CN200810241120.5 申请公布号: CN101771669B
  • 申请日: 2008-12-30 申请公布日: 2014-07-30
  • 申请(专利权)人: 专利代理机构: 工业和信息化部电子专利中心
  • 分类号:H04L29/06;H04L12/24;G06F17/28

专利介绍

本发明公开了一种设置防火墙策略的方法和装置,所述设置防火墙策略的方法具体包括步骤:确定防火墙策略;采用可扩展标记语言对该防火墙策略进行描述;对由可扩展标记语言描述的防火墙策略进行翻译,得到防火墙设备能够识别的命令;防火墙设备根据翻译得到的命令执行防火墙策略。所述设置防火墙策略的装置包括防火墙策略确定模块,防火墙策略描述模块,防火墙策略翻译模块及防火墙策略执行模块。采用本发明能够大大减少网络管理员的工作量,而且保证了防火墙设备的防火墙策略的一致性。
1.一种设置防火墙策略的方法,其特征在于:包括如下步骤:A、确定防火墙策略;B、采用XML文档对防火墙策略进行描述,XML文档的根节点为全局数据库;根节点内包含一个用户数据库子节点,该用户数据库子节点又包括防火墙对象集合和防火墙规则集合两个子节点;其中防火墙对象集合子节点用于存储防火墙规则引用的防火墙对象的数据,防火墙规则集合子节点用于存储不同防火墙设备的防火墙规则的数据;上述防火墙对象集合子节点又包括若干个防火墙对象组子节点,上述每一个防火墙对象组子节点中存储同一类别的防火墙对象的数据;上述防火墙规则集合子节点又包括若干个防火墙规则组子节点,上述每个防火墙规则组子节点中存储同一类别的防火墙规则的数据;C1、从由可扩展标记语言文档描述的所述防火墙策略中获取需要下发给所述防火墙设备的防火墙规则;C2、根据获取到的防火墙规则从由可扩展标记语言文档描述的所述防火墙策略中获取防火墙规则所控制的防火墙对象;C3、将获取到的防火墙规则及防火墙对象翻译为所述防火墙设备能够识别的命令;C4、与所述防火墙设备建立连接,并将翻译后得到的命令下发给所述防火墙设备;C5、待所述防火墙设备按照翻译后得到的命令执行完所述防火墙策略后,断开与所述防火墙设备的连接;D、所述防火墙设备按照翻译后得到的命令执行所述防火墙策略。
2.如权利要求1所述的方法,其特征在于:采用可扩展标记语言文档对所述防火墙策略进行描述时,分别对防火墙对象和防火墙规则进行定义。
3.如权利要求2所述的方法,其特征在于:在对所述防火墙对象和所述防火墙规则进行定义时,均包括“识别标志”、“名称”和“备注”三个属性。
4.如权利要求3所述的方法,其特征在于:所述“识别标志”和所述“名称”在所述防火墙策略中具有全局唯一性。
5.如权利要求1所述的方法,其特征在于:与所述防火墙设备建立连接采用远程访问工具或安全外壳协议的方式进行。
6.一种设置防火墙策略的装置,其特征在于:包括:防火墙策略确定模块,用于确定所述防火墙策略;防火墙策略描述模块,用于采用XML文档对防火墙策略进行描述,XML文档的根节点为全局数据库;根节点内包含一个用户数据库子节点,该用户数据库子节点又包括防火墙对象集合和防火墙规则集合两个子节点;其中防火墙对象集合子节点用于存储防火墙规则引用的防火墙对象的数据,防火墙规则集合子节点用于存储不同防火墙设备的防火墙规则的数据;上述防火墙对象集合子节点又包括若干个防火墙对象组子节点,上述每一个防火墙对象组子节点中存储同一类别的防火墙对象的数据;上述防火墙规则集合子节点又包括若干个防火墙规则组子节点,上述每个防火墙规则组子节点中存储同一类别的防火墙规则的数据;防火墙策略翻译模块,用于对由可扩展标记语言文档描述的所述防火墙策略进行翻译,得到能够被所述防火墙设备识别的命令;防火墙策略执行模块,所述防火墙设备根据翻译后得到的命令执行所述防火墙策略;所述防火墙策略翻译模块具体包括:获取防火墙规则子模块,用于从由可扩展标记语言文档描述的所述防火墙策略中获取需要下发给所述防火墙设备的防火墙规则;获取防火墙对象子模块,用于根据获取到的防火墙规则从由可扩展标记语言文档描述的所述防火墙策略中获取防火墙规则所控制的防火墙对象;翻译子模块,用于将获取到的防火墙规则及防火墙对象翻译为所述防火墙设备能够识别的命令;连接子模块,用于与所述防火墙设备建立连接,并将翻译后得到的命令下发给所述防火墙设备;待所述防火墙设备按照翻译后得到的命令执行完所述防火墙策略后,断开与所述防火墙设备的连接。技术领域
本发明涉及计算机安全领域,特别是关于一种设置防火墙策略的方法和装置。
背景技术
防火墙是用来保护网络中计算机安全的重要设备,通过监测、限制、更改跨越防火墙的数据流,能够对外部屏蔽被保护的内部网络的信息、结构和运行状况。现在市面上有很多种防火墙设备,不同厂商生产的防火墙设备的配置命令均不相同,甚至同一厂商的不同型号的防火墙设备的配置命令也不相同。然而在实际中不同的防火墙设备使用同一防火墙策略的情况十分常见,此种情况下,网络管理员在设置防火墙策略的时候,就不得不熟悉各类不同的防火墙设备的配置界面和命令,并对防火墙设备的防火墙规则逐条配置。这大大增加了网络管理员的工作量,而且由于是人工对防火墙设备的防火墙规则进行设置,所以很容易出错,导致设置使用同一防火墙策略的防火墙设备的防火墙策略的不一致,给网络管理带来了很大的困难。
发明内容
本发明提供一种设置防火墙策略的方法和装置,用以解决现有技术中由于人工对不同的防火墙设备进行设置,容易导致防火墙设备的防火墙策略不一致的问题。为实现上述目的,本发明采取以下技术方案:一种设置防火墙策略的方法,其特征在于:包括如下步骤:A、确定防火墙策略;B、采用XML文档对防火墙策略进行描述,XML文档的根节点为全局数据库;根节点内包含一个用户数据库子节点,该用户数据库子节点又包括防火墙对象集合和防火墙规则集合两个子节点;其中防火墙对象集合子节点用于存储防火墙规则引用的防火墙对象的数据,防火墙规则集合子节点用于存储不同防火墙设备的防火墙规则的数据;上述防火墙对象集合子节点又包括若干个防火墙对象组子节点,上述每一个防火墙对象组子节点中存储同一类别的防火墙对象的数据;上述防火墙规则集合子节点又包括若干个防火墙规则组子节点,上述每个防火墙规则组子节点中存储同一类别的防火墙规则的数据;C、对由可扩展标记语言描述的所述防火墙策略进行翻译,得到防火墙设备能够识别的命令;D、所述防火墙设备按照翻译后得到的命令执行所述防火墙策略。进一步,采用可扩展标记语言对所述防火墙策略进行描述时,分别对防火墙对象和防火墙规则进行定义。更进一步,在对所述防火墙对象和所述防火墙规则进行定义时,均包括“识别标志”、“名称”和“备注”三个属性。再进一步,所述“识别标志”和所述“名称”在所述防火墙策略中具有全局唯一性。进一步,对由可扩展标记语言描述的所述防火墙策略进行翻译的具体步骤包括:C1、从由可扩展标记语言描述的所述防火墙策略中获取需要下发给所述防火墙设备的防火墙规则;C2、根据获取到的防火墙规则从由可扩展标记语言描述的所述防火墙策略中获取防火墙规则所控制的防火墙对象;C3、将获取到的防火墙规则及防火墙对象翻译为所述防火墙设备能够识别的命令;C4、与所述防火墙设备建立连接,并将翻译后得到的命令下发给所述防火墙设备;C5、待所述防火墙设备按照翻译后得到的命令执行完所述防火墙策略后,断开与所述防火墙设备的连接。更进一步,与所述防火墙设备建立连接采用远程访问工具或安全外壳协议的方式进行。一种设置防火墙策略的装置,其特征在于:包括:防火墙策略确定模块,用于确定所述防火墙策略;防火墙策略描述模块,用于采用XML文档对防火墙策略进行描述,XML文档的根节点为全局数据库;根节点内包含一个用户数据库子节点,该用户数据库子节点又包括防火墙对象集合和防火墙规则集合两个子节点;其中防火墙对象集合子节点用于存储防火墙规则引用的防火墙对象的数据,防火墙规则集合子节点用于存储不同防火墙设备的防火墙规则的数据;上述防火墙对象集合子节点又包括若干个防火墙对象组子节点,上述每一个防火墙对象组子节点中存储同一类别的防火墙对象的数据;上述防火墙规则集合子节点又包括若干个防火墙规则组子节点,上述每个防火墙规则组子节点中存储同一类别的防火墙规则的数据;防火墙策略翻译模块,用于对由可扩展标记语言描述的所述防火墙策略进行翻译,得到防火墙设备能够识别的命令;防火墙策略执行模块,所述防火墙设备根据翻译后得到的命令执行所述防火墙策略。进一步,所述防火墙策略翻译模块具体包括:获取防火墙规则子模块,用于从由可扩展标记语言描述的所述防火墙策略中获取需要下发给所述防火墙设备的防火墙规则;获取防火墙对象子模块,用于根据获取到的防火墙规则从由可扩展标记语言描述的所述防火墙策略中获取防火墙规则所控制的防火墙对象;翻译子模块,用于将获取到的防火墙规则及防火墙对象翻译为所述防火墙设备能够识别的命令;连接子模块,用于与所述防火墙设备建立连接,并将翻译后得到的命令下发给所述防火墙设备;待所述防火墙设备按照翻译后得到的命令执行完所述防火墙策略后,断开与所述防火墙设备的连接。本发明由于采取以上技术方案,其具有以下优点:本发明由于采用XML(eXtensiblexa0Markupxa0Language,可扩展标记语言)描述防火墙策略,因此防火墙策略具有很好的扩展性;本发明由于将由XML描述的防火墙策略直接翻译为防火墙设备能够识别的命令,因此无需人工对防火墙设备进行设置,大大减轻了网络管理员的工作量;本发明由于将由XML描述的防火墙策略直接翻译为防火墙设备能够识别的命令,避免了人工操作可能产生的错误,保证了防火墙设备的防火墙策略的一致性。
附图说明
图1为本发明所述设置防火墙策略的方法的流程图;图2为本发明所述方法中对由XML描述的防火墙策略进行翻译的流程图;图3为本发明所述方法的一个较佳实施例中的防火墙策略的XML文档结构示意图;图4为本发明所述设置防火墙策略的装置的结构示意图;图5为本发明所述装置中的防火墙策略翻译模块结构示意图。
具体实施方式
为了能够在减少网络管理员工作量的同时,保证设置使用同一防火墙策略的防火墙设备的防火墙策略的一致性,在对某一内部网络设置防火墙策略时,本发明采用了一种通用语言对该防火墙策略进行描述,然后再将该防火墙策略翻译为防火墙设备能够识别的命令。下面结合附图和实施例对本发明进行详细的描述。图1为本发明所述设置防火墙策略的方法的流程图,由图可知,本发明所述设置防火墙策略的方法具体包括以下步骤:步骤101:确定防火墙策略。步骤102:采用XML对该防火墙策略进行描述。步骤103:对由XML描述的防火墙策略进行翻译,得到防火墙设备能够识别的命令。步骤104:防火墙设备按照翻译得到的命令执行防火墙策略。在步骤102中采用XML对防火墙策略进行描述时,需要对防火墙策略包括的防火墙对象和防火墙规则两部分要素分别使用XML的文档元素表示。防火墙对象是指防火墙规则中使用的主机、地址、服务、端口等要素,防火墙规则是指对防火墙对象进行控制的规则。在本发明中将使用XML分别对防火墙对象和防火墙规则进行定义,且定义时均包括“识别标志”、“名称”、“备注”三个属性。其中,“识别标志”可以方便地实现对各对象的引用,“名称”为一个易于被人理解和记忆的名字,“备注”用来记录任何与此元素相关的信息。而且“识别标志”和“名称”在该防火墙策略中具有全局唯一性。根据XML的上述定义,采用XML对防火墙策略进行描述,可以便于防火墙策略的存储和解析,而且使防火墙策略具有了很强的灵活性和扩展性。例如当增加防火墙对象或防火墙规则时,则只需要采用XML对其进行定义,然后将其加入到防火墙策略中即可,相应的若删除防火墙对象或防火墙规则,则可直接将其从防火墙策略中删除。图3所示为上述步骤103中对由XML描述的防火墙策略进行翻译的流程图,由图可知,对由XML描述的防火墙策略进行翻译的具体步骤如下:步骤131:从由XML描述的防火墙策略中获取下发给防火墙设备的防火墙规则。步骤132:根据获取的防火墙规则从由XML描述的防火墙策略中获取防火墙规则控制的防火墙对象。步骤133:对获取的防火墙规则及防火墙对象进行翻译,得到防火墙设备能够识别的命令。步骤134:与防火墙设备建立连接,并将翻译后得到的命令下发给防火墙设备;连接时可以使用远程访问工具Telnet、SSH(Securexa0Shell,安全外壳协议)等方式与防火墙设备进行连接。步骤135:待防火墙设备按照翻译后的命令执行完防火墙策略后,断开与防火墙设备的连接。通过采用上述方法对防火墙进行设置,不再需要网络管理员熟悉防火墙设备的配置界面和命令,人工的对上述防火墙设备进行设置,大大减少网络管理员的工作量,而且由于是将防火墙策略直接翻译为防火墙设备能够识别的命令,避免了由于人工对防火墙设备进行设置可能产生的错误,保证了防火墙设备的防火墙策略的一致性。下面结合本发明所述方法的一个较佳实施例对本发明所述方法的具体实现过程予以进一步详细的阐述。步骤201:确定本实施例的防火墙策略。步骤202:采用XML对本实施例的防火墙策略进行描述;本实施例是按照图3所示的XML文档对防火墙策略进行描述的,由图可知,本实施例中的XML文档的根节点为全局数据库。此根节点内包含一个用户数据库子节点,该用户数据库子节点又包括防火墙对象集合和防火墙规则集合两个子节点;其中防火墙对象集合子节点用于存储防火墙规则引用的防火墙对象的数据,防火墙规则集合子节点用于存储不同防火墙设备的防火墙规则的数据;上述防火墙对象集合子节点下面又包括若干个防火墙对象组子节点,上述每一个防火墙对象组子节点中存储同一类别的防火墙对象的数据。上述防火墙规则集合子节点下面又包括若干个防火墙规则组子节点,上述每个防火墙规则组子节点中存储同一类别的防火墙规则的数据。本实施例在采用XML对防火墙策略进行描述的时候,分别对各防火墙对象组、各具体的防火墙对象、各防火墙规则组、各具体的防火墙规则进行了定义,且在对上述的防火墙对象组、防火墙对象、防火墙规则组及防火墙规则进行定义时均包括“识别标志”、“名称”、“注释”等内容,其中的“识别标志”与“名称”在上述本实施例的防火墙策略中具有全局唯一性。其中本实施例中的一个防火墙对象为IP(Internetxa0Protocol,互联网络通讯协议)地址为192.168.1.1和192.168.2.1的主机,且控制此防火墙对象的防火墙规则为:1)允许此防火墙对象访问IP地址范围为192.168.3.0~192.168.3.255的子网,当且仅当在防火墙对象与上述子网之间用于传递信息的数据包同时满足:二层协议号为0800、三层协议号为6、源端口为21或22、目的端口为所有、源和目的MAC地址均为所有上述5个条件时。2)对满足上述条件的数据包不记录日志。采用XML对上述防火墙对象和防火墙规则描述的具体文本如下所示:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中,该文本的各个属性字段的意义如下所示:Id:表示所述对象的识别标志,唯一表示一个对象;name:表示所述对象的名称;comment:表示注释;disabled:用于表示这个防火墙规则是否起作用,用这个可以临时地禁止一条规则,而不用删除它,其中True表示禁止,False表示没有禁止;position:表示防火墙规则的位置,包过滤规则在防火墙中有前后顺序之分,排在靠前位置的规则会先匹配。数值越小表示越靠前,最小值为0;action:定义符合条件的数据包将被如何处理,它包含三个内容,其中“accept表示允许通过”、“deny表示拒绝”和“drop表示丢弃”;l2protocol:表示二层协议号;l3protocol:表示三层协议号;sport:表示源端口号,0表示所有端口;当其与sport_end一起定义一个源端口范围时,则表示起始源端口号。sport_end:表示结束源端口号,需与sport一起定义表示一个源端口的范围。dport:表示目的端口号,0表示所有端口;当其与dport_end一起定义一个目的端口范围时,表示起始目的端口号。dport_end:表示结束目的端口号。需与dport一起定义表示一个目的端口范围;smac:表示源MAC(Mediaxa0Accessxa0Control,介质访问控制子层协议)地址;dmac:表示目的MAC地址;log:判断是否记录日志,其中用yes表示记录日志,用no表示不记录日志;CreateName:表示创建该防火墙规则的管理员名称;CreateTime:表示创建该防火墙规则的时间;ModifyName:表示最后一次修改该防火墙规则的管理员名称;ModifyTime:表示最后一次修改该防火墙规则的时间;Neg:表示相反;语句<IPv4id="id500001".../>定义了本实施例中的一个防火墙对象;语句<Networkxa0id="id500002".../>定义本实施例的上述防火墙对象能够访问的IP地址范围;语句<PFPolicyRulexa0id="id500011"...>...</PFPolicyRule>定义了本实施例中控制上述防火墙对象的防火墙规则,其中,该防火墙规则中采用如下的语句:<Srcxa0neg="False"><ObjectRefxa0ref="id500001"/></Src>通过识别标志引用本实施例中的防火墙规则所控制的防火墙对象;该防火墙规则中采用如下的语句:<Dstxa0neg="False"><ObjectRefxa0ref="id500002"/></Dst>通过识别标志引用本实施例中的允许上述防火墙对象访问的子网。按照上述描写一个防火墙对象及对其控制的防火墙规则的方法,即可以完整的描述出本实施例的防火墙策略。步骤203:对由XML描述本发明实施例的防火墙策略进行翻译,得到本发明实施例的防火墙设备能够识别的命令。对本实施例的防火墙策略进行翻译时的具体步骤为:步骤231:从由XML描述的防火墙策略中获取下发到本实施例的防火墙设备的防火墙规则。步骤232:根据获取的防火墙规则从上述由XML防火墙策略中获取防火墙规则控制的防火墙对象。步骤233:对获取的防火墙规则和防火墙对象进行翻译,得到本实施例的防火墙设备能够识别的命令。其中在对步骤202中采用XML描述防火墙对象及对其控制的防火墙规则的XML文本针对某一公司生产的防火墙设备翻译生成的命令列表如下所示:definexa0hostxa0addxa0namexa0ip1ipaddr"192.168.1.1192.168.2.1"definexa0subnetxa0addxa0namexa0subnet1ipaddr192.168.3.0mask255.255.255.0pfxa0rulexa0addxa0l2protocol0800l3protocolxa0TCPxa0sipxa0ip1dipxa0subnet1sport21sport_end22actionxa0acceptxa0logxa0noxa0enablexa0yes步骤234:与本实施例的防火墙设备建立连接,并将翻译后的命令下发给防火墙设备。步骤235:待防火墙设备按照翻译后的命令执行完防火墙策略后,断开与本发明实施例的防火墙设备的连接。步骤204:本实施例的防火墙设备按照翻译后得到的命令集合,执行防火墙策略。相应于本发明上述方法,本发明进而提供了一种设置防火墙策略的装置,如图4所示,本发明所述设置防火墙策略的装置包括:防火墙策略确定模块1,防火墙策略描述模块2,防火墙策略翻译模块3及防火墙策略执行模块4。其中,防火墙策略确定模块1,用于确定防火墙策略。防火墙策略描述模块2,用于采用XML对防火墙策略进行描述。防火墙策略翻译模块3,用于对由XML描述的该防火墙策略进行翻译,得到被防火墙设备能够识别的命令。防火墙策略执行模块4,防火墙设备按照翻译得到的命令执行该防火墙策略。其中,如图5所示,防火墙策略翻译模块3具体包括:获取防火墙规则子模块31,用于从由XML描述的防火墙策略中获取需要下发给防火墙设备的防火墙规则;获取防火墙对象子模块32,用于根据获取到的防火墙规则从由XML描述的防火墙策略中获取防火墙规则所控制的防火墙对象;翻译子模块33,用于将获取到的防火墙规则及防火墙对象翻译为防火墙设备能够识别的命令;连接子模块34,用于与防火墙设备建立连接,并将翻译后得到的命令下发给防火墙设备;待防火墙设备按照翻译后得到的命令执行完该防火墙策略后,断开与防火墙设备的连接。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。